﻿//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>

//赋值操作符
//int main()
//{
//	//int a = 0;//初始化；
//	//a = 10;//赋值
//
//	int a = 3;
//	int b = 5;
//	int c = 0;
//	c = b = a + 3;//连续赋值，从右向左依次赋值的
//	//c = (b = a + 3);
//
//	b = a + 3;
//	c = b;//推荐
//
//	printf("c = %d b = %d\n", c, b);
//
//	return 0;
//}

//int main()
//{
//	int a = 3;
//	//a = a + 5;
//	a += 5;//复合赋值+=
//	//a = a - 5;
//	//a -= 5;//复合赋值-=
//	//*= /= %=
//
//	printf("%d\n", a);
//
//	return 0;
//}


//单目操作符
//int main()
//{
//	int a = 5;
//	//a = a + 1;
//	//a += 1;
//	//++自增1的操作符
//	//a++;//后置++
//	++a;//前置++
//	printf("%d\n", a);
//
//	return 0;
//}

//int main()
//{
//	int a = 5;
//	//int b = a++;//后置++：先使用，后+1
//	//b=a,a=a+1
//	int b = ++a;//前置++：先+1，后使用
//	//a=a+1,b=a
//
//	printf("a=%d b=%d\n", a, b);
//
//	return 0;
//}

//int main()
//{
//	int a = 5;
//	int b = a--; //后置--：先使用，再 - 1
//	//b = a, a = a - 1;
//	printf("a = %d b = %d\n", a, b);//4 5
//
//	return 0;
//}


//int main()
//{
//	int a = 5;
//	int b = --a; //前置--：先 - 1，再使用
//	// a = a - 1, b = a
//	printf("a = %d b = %d\n", a, b);//4 4
//
//	return 0;
//}

//易错
//int main()
//{
//	int a = 10;
//	printf("%d\n", a--);//10
//
//	printf("%d\n", a);//9
//
//	return 0;
//}

//int main()
//{
//	int a = 1;
//	printf("%d\n", (++a) + (++a) + (++a));//错误的代码
//
//	return 0;
//}


// +和-
//int main()
//{
//	int a = +10;
//	printf("%d\n", a);//10
//	printf("%d\n", +a);//10
//
//	return 0;
//}

//int main()
//{
//	int a = -10;
//	printf("%d\n", a);//-10
//	printf("%d\n", -a);//10
// 
// return 0;
//}


//强制类型转换
//int main()
//{
//	int a = (int)3.14;//不会报警告
//	printf("%d\n", a);
//
//	return 0;
//}


//printf函数
#include <stdio.h>//头文件

//int main()
//{
//	printf("Hello World\n");// \n换行
//	//printf("Hello\n");
//	//printf("World\n");
//
//	return 0;
//}

//占位符
//int main()
//{
//	printf("%d\n", 100);// %d --- 占位符
//	// % + 占位符的类型
//
//	printf("There are 3 apples\n");
//	printf("There are %d apples\n", 3);
//	printf("There are %d apples\n", 5);
//	printf("There are %d apples\n", 10);
//
//	return 0;
//}


// %s --- 字符串
//int main()
//{
//	printf("zhangsan will come tonight\n");
//	printf("%s will come tonight\n", "zhangsan");
//	printf("%s will come tonight\n", "lisi");
//	printf("%s will come tonight\n", "王五");
//
//	return 0;
//}

//int main()
//{
//	printf("zhangsan says it is 8 o'clock\n");
//	printf("%s says it is %d o'clock\n","lisi",10);
//
//	return 0;
//}

//短整型和无符号的短整型 
//int main()
//{
//	//printf("%d\n", 6 / 4);
//	short int n = 2;
//	printf("%hd\n", n);
//
//	unsigned short int m = 100;
//	printf("%hu\n", m);
//
//	return 0;
//}

//int main()
//{
//	int a = 15;
//	printf("%%d\n");
//	printf("%d\n", a);
//	printf("%x\n", a);
//
//	return 0;
//}

//限定宽度
//int main()
//{
//	printf("%dxxxx\n", 123);
//	printf("%5dxxxx\n", 123);//左边补空格向右对齐
//	printf("%05dxxxx\n", 123);//左边用0来填充
//	printf("%-5dxxxx\n", 123);//左对齐
//
//	printf("%5dxxxx\n", 123456);
//
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	printf("%f\n", 123.456);
//	printf("%12f\n", 123.456);//对于小数，这个限定符会限制所有数字的最小显示宽度
//
//	return 0;
//}

//总是显示正负号
//int main()
//{
//	printf("%d\n", -12);
//	printf("%d\n", 12);
//
//	return 0;
//}

//int main()
//{
//	printf("%+d\n", -12);
//	printf("%+d\n", 12);//正数前面必须带+号
//
//	return 0;
//}

//限定小数位数
//#include <stdio.h>
//
//int main()
//{
//	printf("%f\n", 123.456);
//	printf("%.2f\n", 123.456);//小数点后保留2位，会四舍五入
//	printf("%.3f\n", 123.456);//小数点后保留3位
//	printf("%.1f\n", 123.456);//小数点后保留1位，会四舍五入
//
//	return 0;
//}

//限定小数位数和限定宽度结合使用
//int main()
//{
//	printf("%f\n", 0.5);
//	printf("%5.2f\n", 0.5);
//	printf("%*.*f\n", 6, 2, 0.5);//最小宽度和小数位数这两个限定值，都可以用*代替
//
//	return 0;
//}

//输出部分字符串
//int main()
//{
//	printf("%s\n", "abcdef");
//	printf("%10s\n", "abcdef");//限定最小宽度
//	printf("%.3s\n", "abcdef");//%.[m]s指定输出的长度，其中[m]代表一个数字，表示所要输出的长度
//
//	return 0;
//}


// scanf函数

// 1.scanf函数是不安全的
// 2.建议使用scanf_s替换
// ( scanf_s是vs提供的一个函数，这个函数的使用，和scanf是有区别的
//   scanf_s既然是vs提供的，其他的编译器并不认识这个函数。
//   如果代码中使用了scanf_s函数，代码就存在跨平台性问题
//   当前不建议大家使用scanf_s，踏实使用scanf )

// 3.如果不想看到这个错误提示，就使用 _CRT_SECURE_NO_WARNINGS

//解决办法：
// 1.就在当前的代码所在的.c文件的第一行                问题：
//   加上：#define _CRT_SECURE_NO_WARNINGS 1           只要使用scanf函数就得加上这句代码，挺麻烦
// 2.一劳永逸：
//   效果：新建的.c文件中的第一行，默认就加上：#define _CRT_SECURE_NO_WARNINGS 1
//   其实在VS上新建.c文件的时候，是拷贝newc++file.cpp这个文件的
//   如果能在newc++file.cpp这个文件的第一行加上：#define _CRT_SECURE_NO_WARNINGS 1
//   新建文件中就有了

//int main()
//{
//	//int a = 0;
//	//a = 10;
//	//给a输入一个值
//	//scanf();//是可以给变量中输入值
//
//	int score = 0;
//	printf("请输入成绩：");
//	scanf("%d", &score);//& - 取地址操作符
//	printf("成绩是：%d\n", score);
//
//	return 0;
//
//}


//#include <stdio.h>
//
//int main()
//{
//	char arr[5];//数组 - 一组数据
//	scanf("%s", arr);//数组名其实是地址
//	printf("%s\n", arr);
//
//	return 0;
//}

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	char arr[5];
	scanf("%s", arr);
	printf("%s\n", arr);

	return 0;
}

